Node.js এ Custom মডিউল তৈরি করা এবং Export করা খুবই সহজ। এটি আপনাকে কোডকে ছোট, পুনঃব্যবহারযোগ্য অংশে বিভক্ত করতে সহায়তা করে, যাতে আপনি বিভিন্ন জায়গায় একই কোড ব্যবহার করতে পারেন। Node.js এ মডিউল তৈরি ও ব্যবহারের জন্য দুটি প্রধান কৌশল হল:
- Module.exports বা exports
- require() এর মাধ্যমে মডিউল ইম্পোর্ট করা
এখানে Custom মডিউল তৈরি ও Export করার পদ্ধতি বিস্তারিতভাবে দেখানো হল।
১. Custom মডিউল তৈরি করা
প্রথমে একটি নতুন ফাইল তৈরি করে তাতে আপনার কাস্টম মডিউল লেখুন। ধরুন, আমরা একটি greet.js নামক ফাইল তৈরি করছি যা একটি ফাংশন সংজ্ঞায়িত করবে, এবং সেটি অন্য ফাইলে ব্যবহার করা হবে।
greet.js (Custom মডিউল)
// greet.js ফাইলে একটি ফাংশন তৈরি করা হচ্ছে
function greet(name) {
return `Hello, ${name}!`;
}
// greet ফাংশনটি export করা হচ্ছে
module.exports = greet;এখানে, greet.js ফাইলে একটি greet নামক ফাংশন তৈরি করা হয়েছে এবং এটি module.exports এর মাধ্যমে export করা হয়েছে।
২. Custom মডিউল ইম্পোর্ট করা
এখন, আপনি এই কাস্টম মডিউলটি অন্য কোথাও ব্যবহার করতে পারেন। সাধারণত, আপনি require() ফাংশন ব্যবহার করে কাস্টম মডিউলটি ইম্পোর্ট করবেন।
app.js (মডিউল ইম্পোর্ট এবং ব্যবহার)
// greet.js মডিউলটি require() ব্যবহার করে ইম্পোর্ট করা হচ্ছে
const greet = require('./greet');
// greet ফাংশনটি কল করা হচ্ছে
console.log(greet('John')); // Output: Hello, John!এখানে, require('./greet') মডিউলটি greet.js ফাইল থেকে ইম্পোর্ট করা হয়েছে এবং greet ফাংশনটি কল করা হয়েছে, যা আর্গুমেন্ট হিসেবে নাম গ্রহণ করে একটি শুভেচ্ছা বার্তা রিটার্ন করবে।
৩. Multiple Exports (একাধিক এক্সপোর্ট)
কখনও কখনও, একটি মডিউলে একাধিক ফাংশন বা ভেরিয়েবল এক্সপোর্ট করার প্রয়োজন হয়। সেক্ষেত্রে, আপনি একটি অবজেক্টের মাধ্যমে একাধিক এক্সপোর্ট করতে পারেন।
math.js (Multiple Exports)
// কয়েকটি ফাংশন তৈরি করা
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
function multiply(a, b) {
return a * b;
}
// একাধিক ফাংশন export করা হচ্ছে
module.exports = {
add,
subtract,
multiply
};এখানে, add, subtract, এবং multiply তিনটি ফাংশন তৈরি করা হয়েছে এবং এগুলো একটি অবজেক্ট হিসেবে export করা হয়েছে।
app.js (Multiple Exports ইম্পোর্ট করা)
// math.js থেকে একাধিক ফাংশন ইম্পোর্ট করা হচ্ছে
const math = require('./math');
// ফাংশনগুলো ব্যবহার করা হচ্ছে
console.log(math.add(2, 3)); // Output: 5
console.log(math.subtract(5, 3)); // Output: 2
console.log(math.multiply(4, 3)); // Output: 12এখানে, আমরা math.js মডিউলটি ইম্পোর্ট করেছি এবং তারপর এক্সপোর্ট করা ফাংশনগুলো ব্যবহার করেছি।
৪. Default Export ব্যবহার করা
কখনও কখনও, আপনি একক এক্সপোর্ট করতে চাইলে module.exports এর মাধ্যমে সরাসরি একটি একক ভ্যালু বা ফাংশন এক্সপোর্ট করতে পারেন। এটি default export হিসাবে পরিচিত।
greetDefault.js (Default Export)
// একক ফাংশন export করা হচ্ছে
module.exports = function greet(name) {
return `Hello, ${name}!`;
};এখানে, একটি ফাংশন সরাসরি module.exports এর মাধ্যমে এক্সপোর্ট করা হয়েছে।
app.js (Default Export ইম্পোর্ট করা)
// greetDefault.js থেকে ডিফল্ট এক্সপোর্ট ইম্পোর্ট করা হচ্ছে
const greet = require('./greetDefault');
// greet ফাংশনটি কল করা হচ্ছে
console.log(greet('John')); // Output: Hello, John!এখানে, require('./greetDefault') থেকে সরাসরি ডিফল্ট এক্সপোর্ট করা ফাংশনটি ইম্পোর্ট করা হয়েছে।
৫. ES6 Modules (ESM) ব্যবহার করা
Node.js 12 এবং পরবর্তী সংস্করণগুলোতে ES6 modules বা import/export সিনট্যাক্সও সমর্থিত। তবে, এটি ব্যবহার করতে হলে আপনাকে .mjs এক্সটেনশন ব্যবহার করতে হবে অথবা type: "module" সেটিংটি package.json এ নির্দিষ্ট করতে হবে।
math.mjs (ES6 Modules)
// ES6 Syntax দিয়ে একাধিক এক্সপোর্ট
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}app.mjs (ES6 Modules ইম্পোর্ট করা)
// ES6 Syntax দিয়ে মডিউল ইম্পোর্ট করা
import { add, subtract } from './math.mjs';
console.log(add(2, 3)); // Output: 5
console.log(subtract(5, 3)); // Output: 2এখানে, আমরা import এবং export সিনট্যাক্স ব্যবহার করে মডিউল তৈরি এবং ইম্পোর্ট করেছি।
সারাংশ
- module.exports এবং exports ব্যবহার করে আপনি আপনার কাস্টম মডিউল তৈরি এবং এক্সপোর্ট করতে পারেন।
- আপনি একটি ফাংশন বা একাধিক ফাংশন এবং ভেরিয়েবল একটি অবজেক্টের মাধ্যমে এক্সপোর্ট করতে পারেন।
require()ফাংশন ব্যবহার করে আপনার কাস্টম মডিউল ইম্পোর্ট করে ব্যবহারের জন্য প্রস্তুত করতে পারেন।- ES6 modules (import/export) সিনট্যাক্স Node.js এ সমর্থিত, তবে এটি ব্যবহার করতে কিছু কনফিগারেশন প্রয়োজন হতে পারে।
এইভাবে, আপনি আপনার কোডকে পুনঃব্যবহারযোগ্য অংশে বিভক্ত করতে পারেন এবং সহজে বিভিন্ন ফাইল বা প্রজেক্টে মডিউল ব্যবহার করতে পারবেন।
Read more